<?php
	//if (!isset($_SESSION)) { session_start(); }
  // Datos extraidos
  $lenguaje = 'es';
  //Archivos incluidos despues de la verficacion por seguridad.
  include_once('../../includes/fk_php/Connections/connection.php');
  
  switch($lenguaje): // Selecion de lenguaje de la apliacion
	case 'es': include_once('../../includes/fk_php/lenguaje_es(v2).php'); $DB_lenguaje = 'nom_es';
		break;
	case 'en': $DB_lenguaje = 'nom_en'; break;
  endswitch;

?>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">
		.add {
            background-image:url(../../fk_skin/add.gif) !important;
        }
        .remove {
            background-image:url(../../fk_skin/delete.gif) !important;
        }
		.buscar {
            background-image:url(../../fk_skin/buscar.gif) !important;
        }
		.refresh {
            background-image:url(../../fk_skin/refresh.png) !important;
        }
	</style>
  <link rel="stylesheet" type="text/css" href="../../includes/extjs/resources/css/ext-all.css" />
  <!-- LIBS -->
  <script type="text/javascript" src="../../includes/extjs/adapter/ext/ext-base.js"></script>
  <!-- ENDLIBS -->
  <script type="text/javascript" src="../../includes/extjs/ext-all.js"></script>
  <!--	EDITOR GRID --->
  <script type="text/javascript" src="../../includes/extjs/src/widgets/grid/EditorGrid.js"></script>
  
  <script type="text/javascript" src="../../includes/extjs/src/locale/ext-lang-<?=$lenguaje?>.js"></script>
  <script type="text/javascript">
//-------------------------------------------------------    
	Ext.onReady(function(){
		Ext.BLANK_IMAGE_URL = '../../includes/extjs/resources/images/default/s.gif';
		Ext.QuickTips.init(); 
		Ext.form.Field.prototype.msgTarget = 'side';
		//Funcionalidad de Boton de busqueda
		
		
	//Arreglo bidimensional de datos 
	var storesolicitudes = new Ext.data.JsonStore({ // asignandole a la propiedad json la data
		url: 'mod_viajes_transporte_grid.php',
		root: 'data',
		fields: [
			'idsolicitud',
			'placacabezal',
			'placafurgon',
			'fechaingreso',
			'fechasalida',
			'horasalida',
			'pais',
			'estadoCmb','tipoCmb','cargaCmb','idruta','idpersona','idcliente','conductor','descpais','rutaorigen','rutadestino'
			]
	});
	
	storesolicitudes.load({params:{buscar:'todos'}});
//-------------------------------------------------------
	
	
		
	var mySelectionModel = new Ext.grid.CheckboxSelectionModel({singleSelect: false});
	
		
	// CREACION DEL GRID ===============================
	var gridsolicitudes = new Ext.grid.EditorGridPanel({
		store: storesolicitudes,
		collapsible: true,
		frame: true,
		renderTo: 'grid-div',
		width:  '100%',
		height: 500,
		clicksToEdit: 2,
		title:'Asignacion de Conductores',
		stripeRows: true,
		autoScroll: true,
		border: false,
		loadMask: true,
		sm: mySelectionModel, //referencia al selectionModel
		columns: [
			new Ext.grid.CheckboxSelectionModel(),  
			{
				id			: 'idsolicitud',
				dataIndex	: 'idsolicitud',
				header		: 'Solicitud',
				hidden		: true,
				width		: 100,
				sortable	: true
			},
			{
				id			: 'placacabezal',
				dataIndex	: 'placacabezal',
				header		: 'Placa Cabezal',
				width		: 100,
				sortable	: true
			},
			{
				id			: 'placafurgon',
				dataIndex	: 'placafurgon',
				header		: 'Placa Furgon',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'conductor',
				header		: 'Conductor',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'fechaingreso',
				header		: 'Fecha Ingreso',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'fechasalida',
				header		: 'Fecha Salida',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'horasalida',
				header		: 'Hora Salida',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'descpais',
				header		: 'Pais',
				hidden		: true,
				width		: 150,
				sortable	: true
			},
			{
				dataIndex	: 'estadoCmb',
				header		: 'Estado',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'rutaorigen',
				header		: 'Ruta Origen',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'rutadestino',
				header		: 'Ruta Destino',
				width		: 100,
				sortable	: true
			},
			{
				dataIndex	: 'tipoCmb',
				hidden		: true,
				header		: 'Tipo'
			},
			{
				dataIndex	: 'cargaCmb',
				header		: 'Carga',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idruta',
				header		: 'Ruta',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idpersona',
				header		: 'Persona',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			{
				dataIndex	: 'idcliente',
				header		: 'Cliente',
				width		: 100,
				hidden		: true,
				sortable	: true
			},
			],tbar: [
			'->','-'
            ]
	});
	//
	//----------------------------------------
	
	Ext.override(Ext.form.Field, {
    setReadOnly: function(readOnly) {
        if (readOnly == this.readOnly) {
            return;
        }
        this.readOnly = readOnly;

        if (readOnly) {
            this.el.dom.setAttribute('readOnly', true);
        } else {
            this.el.dom.removeAttribute('readOnly');
        }
    }
	});
	
	gridsolicitudes.on({
		'dblclick': 	{
				fn: function(){
					var selections = this.selModel.getSelections();
					Ext.each(selections,function(records){ 
						agregarnuevouser();
						Ext.getCmp('actualizar').setValue('1');
						Ext.getCmp('form').getForm().loadRecord(records);
						Ext.getCmp('fechasalida').setValue(records.json.fechasalida+' '+records.json.horasalida);
					});
				}
		}
	});

	function agregarnuevouser(){
	
		var store_rutas = new Ext.data.JsonStore({ // asignandole a la propiedad json la data
		url: '../MAESTROS/mod_rutas_grid.php',  
		root: 'data',
		fields: ['idruta','descripcion']
		});
		store_rutas.load({params:{buscar:'todos'}});
		
		var store_trabajadores=new Ext.data.JsonStore({ // asignandole a la propiedad json la data
		url: '../MAESTROS/mod_empleados_grid.php',  
		root: 'data',
		fields: ['codemplea','descripcion']
		});
		store_trabajadores.load({params:{buscar:'todos'}});
		
		var store_carga= new Ext.data.JsonStore({  
			url:'../MAESTROS/mod_tipocaraga_grid.php',  
			root: 'data',  
			totalProperty: 'total',  
			fields: [  
				{name:'idcarga', type: 'int'},  
				{name:'descripcion', type: 'string'}
			]  
		});
		store_carga.load({params:{buscar:'todos'}});
		
		var store_clientes =new Ext.data.JsonStore({  
			url:'../MAESTROS/mod_cli_grid.php',  
			root: 'data',  
			totalProperty: 'total',  
			fields: [  
				{name:'idcliente', type: 'int'},  
				{name:'nombre', type: 'string'}
			]  
		});
		store_clientes.load({params:{buscar:'todos'}});
		
		var tabs = new Ext.FormPanel({
			labelWidth: 75,
			id: 'form',
			labelAlign: 'top',
			border:false,
			defaults:{autoHeight:true, bodyStyle:'padding:10px'}, 
			width: 400,
			items:[
				{
				xtype:'tabpanel',
				activeTab: 0,
				border: false,
				items: [
				{
						title:'Asignacion de Conductores',
						border: false,
						items:[
							{
								layout:'column',
								border: false,
								items:[
									{
										columnWidth:.35,
										layout:'form',
										border: false,
										items: [
											{
												xtype       : 'combo',
												id          : 'idruta',
												fieldLabel  : '<b>Rutas<font color="#EC9001">*</font></b>',
												labelStyle  : 'font-size:10px;',
												hiddenName  : 'idrutaH',  
												name        : 'idruta',  
												loadingText : "Cargando...",
												emptyText   : "Elija una Ruta...",
												mode        : 'local', 
												allowBlank  : false,
												triggerAction:'all',
												disabled    : false,
												width       : 200,  
												displayField: 'descripcion',  
												valueField  : 'idruta',
												store		: store_rutas
											}
										]
									},
									{
										columnWidth:.35,
										layout:'form',
										border: false,
										items: [
											{
												xtype       : 'combo',
												id          : 'idpersona',
												fieldLabel  : '<b>Trabajadores<font color="#EC9001">*</font></b>',
												labelStyle  : 'font-size:10px;',
												hiddenName  : 'codempleado',  
												name        : 'codemplea',  
												loadingText : "Cargando...",
												emptyText   : "Trabajadores...",
												mode        : 'local', 
												allowBlank  : false,
												triggerAction:'all',
												disabled    : false,
												width       : 200,  
												displayField: 'descripcion',
												valueField  : 'codemplea',
												store		: store_trabajadores
											}
										]
									},
									{
										columnWidth:.3,
										layout:'form',
										border: false,
										items: [
											{
															xtype       : 'combo',
															id          : 'cargaCmb',
															fieldLabel  : '<b>Carga<font color="#EC9001">*</font></b>',
															labelStyle  : 'font-size:10px;',
															hiddenName  : 'idcarga',  
															name        : 'idcarga',  
															loadingText : "Cargando...",
															emptyText   : "Carga de Furgon...",
															mode        : 'local', 
															allowBlank  : true,
															triggerAction : 'all',
															width       : 200,  
															displayField: 'descripcion',  
															valueField  : 'idcarga',
															store		: store_carga
											}
										]
									}
								]//Fin de las columnas
							},//Fin de Fila 1
							{
								layout:'column',
								border: false,
								items: [
									{
										columnWidth:.5,
										layout:'form',
										border: false,
										items: [
											{
															xtype       : 'combo',
															id          : 'idcliente',
															fieldLabel  : '<b>Clientes<font color="#EC9001">*</font></b>',
															labelStyle  : 'font-size:10px;',
															hiddenName  : 'idclientes',  
															name        : 'idcliente',  
															loadingText : "Cargando...",
															emptyText   : "Clientes...",
															mode        : 'local', 
															allowBlank  : true,
															triggerAction : 'all',
															width       : 300,  
															displayField: 'nombre',  
															valueField  : 'idcliente',
															store		: store_clientes
											}
										]
									},
									{
										columnWidth:.5,
										layout:'form',
										border: false,
										items: [
											{
												xtype: 'datefield',
												fieldLabel: '<b>Fecha Salida<font color="#EC9001">*</font></b>',
												labelStyle: 'font-size:10px;',
												id:'fechasalida',
												name: 'fechasalida',
												format: 'd/m/Y H:i',
												allowBlank:false,
												width: 300
											}
										]
									}								    
								]
							},
							{
								layout:'column',
								border: false,
								items:[
									{
										columnWidth:1,
										layout:'form',
										border: false,
										items: [
											{
												xtype: 'hidden',
												name: 'actualizar',
												id: 'actualizar',
												value:0
											},
											{
												xtype: 'hidden',
												name: 'idsolicitud',
												id: 'idsolicitud'
											}
										]
									}
								]//Fin de las columnas
							}//Fin de la segunda seccion de 4 columnas
						]
					} 
				]
				}], //Fin del tab
			agregar_form: function(){
				//Primero, se valida si no se estan violando validaciones cliente
				if (this.getForm().isValid()){
					//Empieza el proceso de envio
					this.getForm().submit({
						//Parametros para el envio
						url: 'login_asignacion.php',
						method: 'POST',
						//Mascaras
						waitTitle: 'Conectando',
						waitMsg: 'Validando formulario..',
						//Envio Exitoso
						success: function(form, action){
							Ext.Msg.minWidth = 400;
							Ext.Msg.show({
									   title:'Conexi&oacute;n Exitosa',
									   msg: action.result.msg,
									   buttons: Ext.Msg.OK,
									   icon: Ext.Msg.INFO,
									   fn: function(){
											window_config.close();
											storesolicitudes.removeAll();
											storesolicitudes.load({params:{buscar:'todos'}});
									   }
							});
						},
						//Envio fallido
						failure: function(form, action){
							//Erro data
							if (action.failureType == 'server') {
								var data = Ext.util.JSON.decode(action.response.responseText);
								Ext.Msg.alert('conexi&oacute;n Fallida', data.errors.reason, function(){
									txtUsuario.focus(true, 100);
								});
							}
							//Error archivo
							else {
								Ext.Msg.alert('Error!', 'El servidor de autenticacion es inalcanzable : ' + action.response.responseText);
							}
						}
						
					});
					
				}
			}
			});
		
		
		var window_config;
		
		if(!window_config){
		
		window_config= new Ext.Window({
			title: '<?=TITLE_AUX_01?>',
			width: "100%",
			height:500,
			modal: true,
			resizable : false,
			layout: 'fit',
			items: [tabs],
			buttons: [
				{
					text: '<?=Title_agregar?>',
					width: 78,
					handler: function(){
						tabs.agregar_form();
					}
				},
				{
                    text: '<?=Title_limpiar?>',
                    handler: function()
                    {
                        tabs.getForm().reset();
                    }
                 },
				{
					text: '<?=Title_cancelar?>',
					width: 78,
					handler: function(){
						window_config.close();
					}
				}
			]
		});
		
		}
		
		window_config.show();
	}	
			
	//Boton Borrar
	function borrarsolicitudes(){
			Ext.MessageBox.confirm('<?=Title_confirmacion ?>', '<?=PrgAdmin_002?>', function(btn){
				if(btn === 'yes'){
					var selections = gridsolicitudes.selModel.getSelections();
					Ext.each(selections,function(record){
						id = record.get('idsolicitud');
						storesolicitudes.load({params:{buscar:'todos',proceso:'del',ident:id}});
					});
				}
			});
	};
		
  
		});
		
</script>
  <!-- 	Estilo interno -->
  <style type="text/css">
  body,td,th {
  font-family: Verdana, Geneva, sans-serif;
  }
  </style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
<div id="grid-div" ></div>
</body>
</html>